<?php
class class_ChartNumerosGrales
{
	private $_db; 
	function __construct(){
		$this->config();
	}
	private function config(){
		require_once("conexion.php");
		$this->_db = new DataBase($SERVIDOR,$USUARIO,$PASSWORD,$BASE);
		mysql_query("SET NAMES utf8");
	}
	
    function method_cargaForm($params, $error)
    {
		$this->_db->setQuery("SELECT dni_usuario AS value, CONCAT(apellido, ', ', nombres) as label FROM usuarios WHERE cod_tipo_usuario = '3'");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
    	
		$result->resMedicos = $this->_db->loadResult();
		
		$this->_db->setQuery("SELECT descripcion AS label, cod_obra_social AS value FROM obras_sociales");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
    	
		$result->resObras = $this->_db->loadResult();		
		
		return $result;
	}

    function method_cargaPlan($params, $error)
    {
		$this->_db->setQuery("SELECT cod_plan AS value, descripcion AS label FROM planes WHERE cod_obra_social = '".$params[0]->cod_obra_social."'");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
    	
		return $this->_db->loadResult();
	}	
	function method_getTotales($params, $error){
	
		//tomo tabla obra social
		$this->_db->setQuery("SELECT tabla FROM obras_sociales WHERE cod_obra_social = '".$params[0]->cod_obra_social."' LIMIT 1");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		$tabla = $this->_db->loadResult();
		$tabla_obra_social = $tabla[0]->tabla;		

		if($params[0]->cod_plan != ""){
			$consultaPlan = "AND turnos.cod_plan = '".$params[0]->cod_plan."'";
		}
		else{
			$consultaPlan ="";
		}
				
		if($params[0]->dni_usuario != ""){
			$consultaMedico = "AND dni_usuario = '".$params[0]->dni_usuario."'";
		}
		else{
			$consultaMedico ="";
		}		
		//calculo datos CONSULTA CONSULTA
		$this->_db->setQuery("
			SELECT COUNT(turnos.cod_turno) AS total
			FROM turnos
			LEFT JOIN planes USING(cod_plan)
			LEFT JOIN os_".$tabla_obra_social." USING(cod_turno)
			LEFT JOIN nomenclador AS nom USING(cod_nomenclador)
			LEFT JOIN pacientes USING(dni_paciente)
			WHERE turnos.estado = 'A'
			
			# SELECCIONO OBRA SOCIAL
			AND planes.cod_obra_social ='".$params[0]->cod_obra_social."'
			
			# SELECCIONO PLAN
			".$consultaPlan."
		
			# SELECCIONO FECHA
			AND fecha_asignada BETWEEN '".$params[0]->fecha_desde."' AND '".$params[0]->fecha_hasta."'
			
			# SELECCIONO MEDICO
			".$consultaMedico." 
			
			#SELECCIONO CONSULTA CONSULTA
			AND nom.codigo IN('420101','423007','420106')
		");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		$consulta = $this->_db->loadResult();
		$result->consulta = $consulta[0]->total;

		//calculo datos CONSULTA PRACTICA
		$this->_db->setQuery("
			SELECT COUNT(turnos.cod_turno) AS total
			FROM turnos
			LEFT JOIN planes USING(cod_plan)
			LEFT JOIN os_".$tabla_obra_social." USING(cod_turno)
			LEFT JOIN nomenclador AS nom USING(cod_nomenclador)
			LEFT JOIN pacientes USING(dni_paciente)
			WHERE turnos.estado = 'A'
			
			# SELECCIONO OBRA SOCIAL
			AND planes.cod_obra_social ='".$params[0]->cod_obra_social."'
			
			# SELECCIONO PLAN
			AND turnos.cod_plan ='".$params[0]->cod_plan."'
		
			# SELECCIONO FECHA
			AND fecha_asignada BETWEEN '".$params[0]->fecha_desde."' AND '".$params[0]->fecha_hasta."'
			
			# SELECCIONO MEDICO
			".$consultaMedico." 
			
			#SELECCIONO CONSULTA CONSULTA
			AND nom.codigo NOT IN('420101','423007','420106')
		");
		$this->_db->alter();
    	if (mysql_error()) { $error->SetError(JsonRpcError_Unknown, (__FILE__ . " - " . (__LINE__ - 2) . ": " . mysql_error())); return $error; }
		
		$practica = $this->_db->loadResult();
		$result->practica = $practica[0]->total;
		
		//SUMO Y ENVIO TOTALES
		$result->total = $result->consulta + $result->practica;
		return $result; 
		
		//AND nom.codigo NOT IN('420101','423007','420106') # COMBO PARA FILTRO DE CONSULTA O PRACTICA
			
	}	
}
?>
